Autonomous Surface Cleaning Robot

ABSTRACT

A mobile floor cleaning robot includes a body defining a forward drive direction, a drive system, a cleaning system, and a controller. The cleaning system includes a pad holder, a reservoir, a sprayer, and a cleaning system. The pad holder has a bottom surface for receiving a cleaning pad. The reservoir holds a volume of fluid, and the sprayer sprays the fluid forward the pad holder. The controller is in communication with the drive and cleaning systems. The controller executes a cleaning routine that includes driving in the forward direction a first distance to a first location, then driving in a reverse drive direction a second distance to a second location. From the second location, the robot sprays fluid in the forward drive direction but rearward the first location. The robot then drives in alternating forward and reverse drive directions while smearing the cleaning pad along the floor surface.

CROSS REFERENCE TO RELATED APPLICATIONS

This U.S. patent application is a divisional of, and claims priorityunder 35 U.S.C. §121 from, U.S. patent application Ser. No. 14/077,296,filed on Nov. 12, 2013, which is hereby incorporated by reference in itsentirety.

TECHNICAL FIELD

This disclosure relates to floor cleaning using an autonomous mobilerobot.

BACKGROUND

Tiled floors and countertops routinely need cleaning, some of whichentails scrubbing to remove dried in soils. Traditionally, wet mops areused to remove dirt and other dirty smears (e.g., dirt, oil, food,sauces, coffee, coffee grounds) from the surface of a floor. The fluidfor wet cleaning can be distributed with the cleaning brush or pad orcan be applied ahead of time. An autonomous robot is a robot thatperforms a specific task in unstructured environments without anyguidance from a human. Several robots are available that can performfloor cleaning functions. An autonomous surface cleaning robot that canscrub and remove soils from surfaces traversed by the robot frees up anowner to perform other tasks or leisure.

SUMMARY

One aspect of the disclosure provides a mobile robot having a robotbody, a drive system, and a cleaning assembly. The cleaning assemblyincludes a pad holder, a fluid applicator and a controller. The drivesystem supports the robot body to maneuver the robot across a floorsurface. The cleaning assembly is disposed on the robot body andincludes a pad holder, a fluid applicator and a controller incommunication with the drive system and the cleaning system. The padholder is configured to receive a cleaning pad having a center andlateral edges. The fluid applicator is configured to apply fluid to thefloor surface. The controller controls the drive system and fluidapplicator while executing a cleaning routine. The cleaning routineincludes applying fluid to an area substantially equal to a footprintarea of the robot, and returning the robot to the area in a movementpattern that moves the center and lateral edges of the cleaning padseparately through the area to moisten the cleaning pad with the appliedfluid.

Implementations of the disclosure may include one or more of thefollowing features. In some implementations, the cleaning routinefurther includes applying fluid to the surface at an initial volumetricflow rate to moisten the cleaning pad, the initial volumetric flow ratebeing relatively higher than a subsequent volumetric flow rate when thecleaning pad is moistened.

In some examples, the fluid applicator applies fluid to an area in frontof the cleaning pad and in the direction of travel of the mobile robot.In some examples, the fluid is applied to an area the cleaning pad hasoccupied previously. In some examples, the area the cleaning pad 400 hasoccupied is recorded on a stored map that is accessible to thecontroller 150.

In some examples, the fluid applicator applies fluid to an area therobot has backed away from by a distance of at least one robot footprintlength immediately prior to applying fluid. Executing the cleaningroutine further comprises moving the cleaning pad in a birdsfoot motionforward and backward along a center trajectory, forward and backwardalong a trajectory to the left of and heading away from a starting pointalong the center trajectory, and forward and backward along a trajectoryto the right of and heading away from a starting point along the centertrajectory.

In some implementations, the drive system includes right and left drivewheels disposed on corresponding right and left portions of the robotbody. A center of gravity of the robot is positioned forward of thedrive wheels, causing a majority of an overall weight of the robot to bepositioned over the pad holder. The overall weight of the robot may bedistributed between the pad holder and the drive wheels at a ratio of 3to 1. In some examples, the overall weight of the robot is between about2 lbs. and about 5 lbs.

In some examples, the robot body and the pad holder both definesubstantially rectangular foot prints. Additionally or alternatively,the bottom surface of the pad holder may have a width of between about60 millimeters and about 80 millimeters and a length of between about180 millimeters and about 215 millimeters.

One aspect of the disclosure provides a mobile floor cleaning robothaving a robot body, a drive system, a cleaning assembly, a pad holder,and a controller. The robot body defines a forward drive direction. Thedrive system supports the robot body to maneuver the robot across afloor surface. The cleaning assembly is disposed on the robot body andincludes a pad holder, a reservoir, and a sprayer. The pad holder has abottom surface configured to receive a cleaning pad and arranged toengage the floor surface. The reservoir is configured to hold a volumeof fluid, and the sprayer, which is in fluid communication with thereservoir, is configured to spray the fluid along the forward drivedirection forward of the pad holder. The controller communicates withboth the drive system and the cleaning system and executes a cleaningroutine. The controller executes a cleaning routine that allows therobot to drive in the forward drive direction a first distance to afirst location and then drive in a reverse drive direction, opposite theforward drive direction, a second distance to a second location. Thecleaning routine allows the robot to spray fluid on the floor surfacefrom the second location, in the forward drive direction forward of thepad holder but rearward of the first location. After spraying fluid onthe floor surface, the cleaning routine allows the robot to drive inalternating forward and reverse drive directions while smearing thecleaning pad along the floor surface.

Implementations of the disclosure may include one or more of thefollowing features. In some implementations, the drive system includesright and left drive wheels disposed on corresponding right and leftportions of the robot body. A center of gravity of the robot ispositioned forward of the drive wheels, causing a majority of an overallweight of the robot to be positioned over the pad holder. The overallweight of the robot may be distributed between the pad holder and thedrive wheels at a ratio of 3 to 1. In some examples, the overall weightof the robot is between about 2 lbs. and about 5 lbs. The drive systemmay include a drive body, which has forward and rearward portions, andright and left motors disposed on the drive body. The right and leftdrive wheels may be coupled to the corresponding right and left motors.The drive system may also include an arm that extends from the forwardportion of the drive body. The arm is pivotally attachable to the robotbody forward of the drive wheels to allow the drive wheels to movevertically with respect to the floor surface. The rearward portion ofthe drive body may define a slot sized to slidably receive a guideprotrusion extending from the robot body.

In some examples, the robot body and the pad holder both definesubstantially rectangular foot prints. Additionally or alternatively,the bottom surface of the pad holder may have a width of between about60 millimeters and about 80 millimeters and a length of between about180 millimeters and about 215 millimeters.

The reservoir may hold a fluid volume of about 200 milliliters.Additionally or alternatively, the robot may include a vibration motor,or orbital oscillator, disposed on the top portion of the pad holder.

Another aspect of the disclosure provides a mobile floor cleaning robotthat includes a robot body, a drive system, and a cleaning assembly. Therobot body defines a forward drive direction. The drive system supportsthe robot body to maneuver the robot across a floor surface. Thecleaning assembly is disposed on the robot body and includes a padholder and an orbital oscillator. The pad holder is disposed forward ofthe drive wheels and has a top portion and a bottom portion. The bottomportion has a bottom surface arranged within between about ½ cm andabout 1½ cm of the floor surface and receives a cleaning pad. The bottomsurface of the pad holder includes at least 40 of a surface area of afootprint of the robot. The orbital oscillator is disposed on the topportion of the pad holder and has an orbital range less than 1 cm. Thepad holder is configured to permit more than 80 percent of the orbitalrange of the orbital oscillator to be transmitted from the top of theheld cleaning pad to the bottom surface of the held cleaning pad.

In some examples, the orbital range of the orbital oscillator is lessthan ½ cm during at least part of a cleaning run. Additionally oralternatively, the robot may move the cleaning pad forward or backwardwhile the cleaning pad is oscillating.

In some examples, the robot moves in a birdsfoot motion forward andbackward along a center trajectory, forward and backward along atrajectory to the left of and heading away from a starting point alongthe center trajectory, and forward and backward along a trajectory tothe right of and heading away from a starting point along the centertrajectory.

In some examples, the cleaning pad has a top surface attached to thebottom surface of the pad holder and the top of the pad is substantiallyimmobile relative to the oscillating pad holder.

In some examples, the overall weight of the robot is distributed betweenthe pad holder and the drive wheels at a ratio of 3 to 1. The overallweight of the robot may be between about 2 lbs. and about 5 lbs.

In some examples, the robot body and the pad holder both definesubstantially rectangular foot prints. Additionally or alternatively,the bottom surface of the pad holder may have a width of between about60 millimeters and about 80 millimeters and a length of between about180 millimeters and about 215 millimeters.

The cleaning assembly may further include at least one post disposed onthe top portion of the pad holder sized for receipt by a correspondingaperture defined by the robot body. The at least one post may have across sectional diameter varying in size along its length. Additionallyor alternatively, the at least one post may include a vibrationdampening material.

In some implementations, the cleaning assembly further includes areservoir to hold a volume of fluid, and a sprayer in fluidcommunication with the reservoir. The sprayer is configured to spray thefluid along the forward drive direction forward of the pad holder. Thereservoir may hold a fluid volume of about 200 milliliters.

The drive system may include a drive body, which has forward andrearward portions, and right and left motors disposed on the drive body.The right and left drive wheels are coupled to the corresponding rightand left motors. The drive system may also include an arm that extendsfrom the forward portion of the drive body. The arm is pivotallyattachable to the robot body forward of the drive wheels to allow thedrive wheels to move vertically with respect to the floor surface. Therearward portion of the drive body may define a slot sized to slidablyreceive a guide protrusion that extends from the robot body. In oneexample, the cleaning pad disposed on the bottom surface of the padholder body absorbs about 90% of the fluid volume held in the reservoir.The cleaning pad has a thickness of between about 6.5 millimeters andabout 8.5 millimeters, a width of between about 80 millimeters and about68 millimeters, and a length of between about 200 millimeters and about212 millimeters.

In some examples, a method includes driving a first distance in aforward drive direction defined by the robot to a first location, whilemoving a cleaning pad carried by the robot along a floor surfacesupporting the robot. The cleaning pad has a center area and lateralareas flanking the center area. The method further includes driving in areverse drive direction opposite the forward drive direction, a seconddistance to a second location while moving the cleaning pad along thefloor surface. The method also includes applying fluid to an area on thefloor surface substantially equal to a footprint area of the robot andforward of the cleaning pad but rearward of the first location. Themethod further includes returning the robot to the area of applied fluidin a movement pattern that moves the center and lateral portions of thecleaning pad separately through the area to moisten the cleaning padwith the applied fluid 172.

In some examples, the method includes driving in a left drive directionor a right drive direction while driving in the alternating forward andreverse directions after spraying fluid on the floor surface. Applyingfluid on the floor surface may include spraying fluid in multipledirections with respect to the forward drive direction. In someexamples, the second distance is at least equal to the length of anfootprint area of the robot.

In still yet another aspect of the disclosure, a method of operating amobile floor cleaning robot includes driving a first distance in aforward drive direction defined by the robot to a first location whilesmearing a cleaning pad carried by the robot along a floor surfacesupporting the robot. The method includes driving in a reverse drivedirection, opposite the forward drive direction, a second distance to asecond location while smearing the cleaning pad along the floor surface.The method also includes spraying fluid on the floor surface in theforward drive direction forward of the cleaning pad but rearward of thefirst location. The method also includes driving in an alternatingforward and reverse drive directions while smearing the cleaning padalong the floor surface after spraying fluid on the floor surface.

In some examples, the method includes spraying fluid on the floorsurface while driving in the reverse direction or after having driven inthe reverse drive direction the second distance. The method may includedriving in a left drive direction or a right drive direction whiledriving in the alternating forward and reverse directions after sprayingfluid on the floor surface. Spraying fluid on the floor surface mayinclude spraying fluid in multiple directions with respect to theforward drive direction. In some examples, the second distance isgreater than or equal to the first distance.

The mobile floor cleaning robot may include a robot body, a drivesystem, a pad holder, a reservoir, and a sprayer. The robot body definesthe forward drive direction and has a bottom portion. The drive systemsupports the robot body and maneuvers the robot over the floor surface.The pad holder is disposed on the bottom portion of the robot body andholds the cleaning pad. The reservoir is housed by the robot body andholds a fluid (e.g., 200 ml). The sprayer, which is also housed by therobot body, is in fluid communication with the reservoir and sprays thefluid in the forward drive direction forward of the cleaning pad. Thecleaning pad disposed on the bottom portion of the pad holder may absorbabout 90% of the fluid contained in the reservoir. In some examples, thecleaning pad has a width of between about 80 millimeters and about 68millimeters and a length of between about 200 millimeters and about 212millimeters. The cleaning pad may have a thickness of between about 6.5millimeters and about 8.5 millimeters.

The details of one or more implementations of the disclosure are setforth in the accompanying drawings and the description below. Otheraspects, features, and advantages will be apparent from the descriptionand drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a perspective view of an exemplary autonomous mobile robot forcleaning.

FIG. 2 is a perspective view of the exemplary autonomous mobile robot ofFIG. 1.

FIG. 3 is a perspective view of the exemplary autonomous mobile robot ofFIG. 1.

FIG. 4 is a bottom view of the exemplary autonomous mobile robot of FIG.1.

FIG. 5 is a perspective view of the exemplary autonomous mobile robot ofFIG. 1.

FIG. 6 is a perspective view of the exemplary autonomous mobile robot ofFIG. 1.

FIG. 7 is a perspective view of the drive system of the exemplaryautonomous mobile robot of FIG. 1.

FIG. 8 is a perspective view of the drive system of the exemplaryautonomous mobile robot of FIG. 1.

FIG. 9A is a perspective view of the pad holder assembly of theexemplary autonomous mobile robot of FIG. 1.

FIG. 9B is a bottom view of the cleaning pad of the exemplary autonomousmobile robot of FIG. 1.

FIG. 10 is a front view of the pad holder body of the exemplaryautonomous mobile robot of FIG. 1.

FIG. 11 is a perspective view of the exemplary autonomous mobile robotof FIG. 1.

FIG. 12 is a perspective view of the exemplary autonomous mobile robotof FIG. 1.

FIGS. 13A and 13B are top views of an exemplary autonomous mobile robotas it sprays a floor surface with a fluid.

FIG. 13C is a top view of an exemplary autonomous mobile robot as itscrubs a floor surface.

FIG. 13D is a top view of an exemplary autonomous mobile robot as itscrubs a floor surface.

FIG. 13E is a top view of an exemplary autonomous mobile robot as itscrubs a floor surface.

FIG. 14 is a side view of an exemplary autonomous mobile robot.

FIG. 15 is a schematic view of the robot controller of the exemplaryautonomous mobile robot of FIG. 1.

FIG. 16 is a perspective view of an exemplary autonomous mobile robotfor cleaning.

FIG. 17 is a schematic view of an exemplary arrangement of operationsfor operating the exemplary autonomous robot.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

An autonomous robot movably supported can navigate a floor surface. Insome examples, the autonomous robot can clean a surface while traversingthe surface. The robot can remove debris from the surface by agitatingthe debris and/or lifting the debris from the surface by spraying aliquid solution to the floor surface and/or scrubbing the debris fromthe floor surface.

Referring to FIGS. 1-12, in some implementations, a robot 100 includes abody 110 supported by a drive system 120 that can maneuver the robot 100across the floor cleaning surface 10 based on a drive command having x,y, and 0 components, for example. As shown, the robot body 110 has asquare shape. However, the body 110 may have other shapes, including butnot limited to a circular shape, an oval shape, or a rectangular shape.The robot body 110 has a forward portion 112 and a rearward portion 114.The body 110 also includes a bottom portion 116 and a top portion 118.

The robot 100 can move across a cleaning surface 10 through variouscombinations of movements relative to three mutually perpendicular axesdefined by the body 110: a transverse axis X, a fore-aft axis Y, and acentral vertical axis Z. A forward drive direction along the fore-aftaxis Y is designated F (sometimes referred to hereinafter as “forward”),and an aft drive direction along the fore-aft axis Y is designated A(sometimes referred to hereinafter as “rearward”). The transverse axis Xextends between a right side R and a left side L of the robot 100substantially along an axis defined by center points of the wheelmodules 120 a, 120 b.

The robot 100 can tilt about the X axis. When the robot 100 tilts to thesouth position, it tilts toward the rearward portion 114 (sometimesreferred to hereinafter as “pitched up”), and when the robot 100 tiltsto the north position, it tilts towards the forward portion 112(sometimes referred to hereinafter as “pitched down”). Additionally, therobot 100 tilts about the Y axis. The robot 100 may tilt to the east ofthe Y axis (sometimes referred to hereinafter as a “right roll”), or therobot 100 may tilt to the west of the Y axis (sometimes referred tohereinafter as a “left roll”). Therefore, a change in the tilt of therobot 100 about the X axis is a change in its pitch, and a change in thetilt of the robot 100 about the Y axis is a change in its roll. Inaddition, the robot 100 may either tilt to the right, i.e., an eastposition, or to the left i.e., a west position. In some examples, therobot tilts about the X axis and about the Y axis having tilt positions,such as northeast, northwest, southeast, and southwest. As the robot 100is traversing a floor surface, the robot 100 may make a left or rightturn about its Z axis (sometimes referred to hereinafter as a change inthe yaw). A change in the yaw causes the robot 100 to make a left turnor a right turn while it is moving. Thus, the robot 100 may have achange in one or more of its pitch, roll, or yaw at the same time.

In some implementations, the forward portion 112 of the body 110 carriesa bumper 130, which detects (e.g., via one or more sensors) one or moreevents in a drive path of the robot 100, for example, as the wheelmodules 120 a, 120 b propel the robot 100 across the cleaning surface 10during a cleaning routine. The robot 100 may respond to events (e.g.,obstacles, cliffs, walls 20) detected by the bumper 130 by controllingthe wheel modules 120 a, 120 b to maneuver the robot 100 in response tothe event (e.g., away from an obstacle). While some sensors (not shown)are described herein as being arranged on the bumper 130, these sensorscan additionally or alternatively be arranged at any of variousdifferent positions on the robot 100. The bumper 130 has a shapecomplementing the robot body 110 and extends forward the robot body 110making the overall dimension of the forward portion 112 wider than therearward portion 114 of the robot body (the robot as shown has a squareshape).

A user interface 140 disposed on a top portion 118 of the body 110receives one or more user commands and/or displays a status of the robot100. The user interface 140 is in communication with a robot controller150 carried by the robot 100 such that one or more commands received bythe user interface 140 can initiate execution of a cleaning routine bythe robot 100. In some examples, the user interface 140 includes a powerbutton, which allows a user to turn on/off the robot 100. In addition,the user interface 140 may include a release mechanism to release aremovable and/or disposable cleaning element, such as a cleaning pad400, attached to the robot body 110 over a trash can without the usertouching the pad 400. The release mechanism may be a release button (notshown) or a lever (not shown) that a user can pull or push allowing therobot body 110 to release the cleaning pad 400 from the pad holderassembly 190.

Additionally or alternatively, for a cleaning robot, an open button (notshown) may be part of the user interface 140. The open button opens adoor to a reservoir 170 allowing a user to fill/empty water. Thecontroller 150 includes a computing processor 152 (e.g., centralprocessing unit) in communication with non-transitory memory 154 (e.g.,a hard disk, flash memory, random-access memory).

In some examples, a handle 119 is disposed on the top portion 118 of thebody 110. The handle 119 may pivotally flip along the transverse axis Xof the robot body 110. In a closed position, the handle 119 is disposedsubstantially parallel to the top portion 118 of the body 110. In anopen position, the handle 119 is disposed substantially perpendicular tothe top portion 118 of the body 110. The handle 119 may include afriction lock (not shown) in the open position to keep the robot stablewhen a user is carrying the robot 100 or when the user is inserting orremoving the battery 102 or changing the cleaning pad 400.

Referring to FIGS. 5 and 6, the robot body 110 may support a rear spring180 for supporting the top portion 118 of the robot body 110. The rearspring 180 levels the robot body 110 parallel to the floor and allowsfor compression of the robot 100 if weight is applied on its top portion118. If a person steps on the upper portion 118 of the robot 100, therear springs 180 and the wheel springs (not shown) compress and allowthe bottom portion 116 of the robot body 110 to rest on the floorsurface. The rear springs 180 have a stop mechanism 182 that refrainsthe springs 180 from further compression after a predeterminedthreshold. The mechanism protects the drive assembly 120 from damagefrom an external application of force, such as a person stepping on therobot 100. The rear spring 180 may include a pre-bent strip of springsteel bent down to support the spring at a pre-loaded position. In someexamples, the robot body 110 includes front springs 184 having the samefeatures as the rear springs 180.

Referring to FIGS. 7 and 8, the drive system 120 includes right and leftdriven wheel modules 120 a, 120 b housed by a drive housing 121 havingforward and rearward portions 121 a, 121 b. The wheel modules 120 a, 120b are substantially opposed along a transverse axis X defined by thebody 110 and include respective drive motors 122 a, 122 b drivingrespective wheels 124 a, 124 b also housed by the drive housing 121. Thedrive motors 122 a, 122 b may releasably connect to the drive housing121 (e.g., via fasteners or tool-less connections) with the drive motors122 a, 122 b optionally positioned substantially adjacent the respectivewheels 124 a, 124 b. The wheel modules 120 a, 120 b can be releasablyattached to the drive housing 121 and forced into engagement with thecleaning surface 10 by respective springs. In some examples, the wheels124 a, 124 b are releasably supported by the drive housing 121. Thewheels 124 a, 124 b may have a biased-to-drop suspension system, whichimproves traction of the wheel modules 120 a, 120 b over slippery floors(e.g., hardwood, wet floors). The wheels 124 a, 124 b define a wheelaxis W extending from the center of one wheel to the center of the otherwheel and substantially parallel to the floor surface 10. The wheels 124a, 124 b rotate about the wheel axis W when the robot 100 is traversinga floor surface 10. The wheels 124 a, 124 b have enough traction toovercome the friction between the cleaning pad 400 and the floor surface10. In some examples, the friction between the cleaning pad 400 and thefloor surface 10 is different when the cleaning pad 400 is dry than whenthe cleaning pad 400 has absorbed the cleaning fluid 172. The robot 100may increase the volumetric flow rate of dispensing of the cleaningfluid 172 and/or the traction force to overcome the increase of frictionbetween the cleaning pad 400 and the floor surface 10. In someimplementation, the robot 100 applies cleaning fluid 172 at an initialvolumetric flow rate V_(i) initially, while the cleaning pad 400 is dryor mostly dry. As the cleaning pad 400 absorbs cleaning fluid 172 andfriction between the cleaning pad 400 and the floor surface 10decreases, the robot 100 applies fluid at a second volumetric flow rateV_(f) that is lower than the initial volumetric flow rate V_(i)(V_(i)>V_(f)).

An arm 123 is attached to the forward portion of the drive housing 121.The arm 123 is pivotally attachable to the robot body 110 forward of thedrive wheels 124 a, 124 b to allow the drive housing 121 to movevertically with respect to the floor surface 10 via a rubber pivot mount125. The rearward portion 121 b of the drive housing 121 defines a slot127. The slot 127 is sized to slidably receive a guide protrusion 111defined by or disposed on the robot body 110. The slot 127 allows therobot body 110 to move with respect to the drive system 120 if verticalpressure is applied to the robot body 110 and the rear springs 180 arecompressed due to the pressure. The robot 100 may include a caster wheel(not shown) disposed to support a rearward portion 114 of the robot body110.

Referring back to FIG. 3, the robot body 110 supports a power source 102(e.g., a battery) for powering any electrical components of the robot100. In some examples, the power source 102 includes swing out prongs(not shown) to allow direct plug into the wall outlets. The robot 100may include (e.g., on the top portion 118 visible to the user) anindicator for indicating when the power source 102 is ready to be usedor when it is empty and needs to be recharged. In some examples, thepower source 102 may be releasably connected to the robot body 110 andmay be charged separately without being connected to the robot body 110.In some examples, the power source 102 is releasably connected to therobot body 110 and is insertably mated into a universal plug adapter(not show) for use across a range of voltages, for example 110-220V. Thepower source 102 may include one or more rechargeable batteries (e.g.,nickel-metal hydride battery (NiMH)). In some implementations, the powersource 102 is sized to a certain weight or includes metal weight platesto provide stability to the rearward portion 114 of the robot body 110to achieve a specific weight ratio between the drive wheels 124 a, 124 band the cleaning pad 400.

The robot controller 150 (FIGS. 16 and 17), executing a control system210, may execute behaviors 300 that cause the robot 100 to take anaction, such as maneuver in a wall following manner, a floor scrubbingmanner, or changing its direction of travel when an obstacle (e.g.,chair, table, sofa, etc.) is detected. The robot controller 150 canmaneuver the robot 100 in any direction across the cleaning surface 10by independently controlling the rotational speed and direction of eachwheel module 120 a, 120 b. For example, the robot controller 150 canmaneuver the robot 100 in the forward F, reverse (aft) A, right R, andleft L directions.

The robot 100 may include a cleaning system 160 (FIG. 15) for cleaningor treating a floor surface 10. As shown in FIG. 12, the cleaning system160 may include a fluid applicator 162 that extends along the transverseaxis X and dispenses cleaning fluid 172 onto the floor surface 10. Thefluid applicator 162 may be a sprayer having at least one nozzle 164that distributes fluid 172 over the floor surface 10. In some examples,the nozzle 164 sprays forward and downward to cover one robot length land/or one robot width w in front of the robot 100. The outsidelengthwise edges of the robot 100 and the outside widthwise edges of therobot 100 bound a footprint area AF of the robot 100, or the planarsurface area occupied by the robot 100. In other implementations, theoutside periphery and/or circumference of a non-rectangular robot 100bounds the footprint area AF of the robot 100.

In some implementations, the robot 100 only applies fluid to areas ofthe floor surface 10 that the robot 100 has already traversed. In oneexample, the fluid applicator 162 has multiple nozzles 164 eachconfigured to spray the fluid 172 in a direction different than anothernozzle 164. The fluid applicator 162 may apply fluid 172 downward ratherthan outward, dripping or spraying fluid 172 directly in front of therobot 100. In some examples, the fluid applicator 162 is a microfibercloth or strip, a fluid dispersion brush, or a sprayer.

Referring to FIGS. 13A-13E, in some implementations, the robot 100 mayexecute a cleaning behavior 300 a (FIG. 16) by moving in a forwarddirection F toward an obstacle 20, followed by moving in a backward orreverse direction A. As indicated in FIGS. 13 A and 13B, the robot 100may drive in a forward drive direction a first distance F_(d) to a firstlocation L₁. As the robot 100 moves backwards a second distance A_(d) toa second location L₂, the nozzle 164 sprays fluid 172 onto the floorsurface 10 in a forward and/or downward direction in front of the robot100 after the robot 100 has moved at least a distance D across an areaof the floor surface 10 that was already traversed in the forward drivedirection F. In one example, the fluid 172 is applied to an areasubstantially equal to the area footprint AF of the robot 100. Becausedistance D is the distance spanning at least the length of the robot100, the robot 100 determines that it is clear floor surface 10unoccupied by furniture, walls 20, cliffs, carpets or other surfaces orobstacles onto which cleaning fluid 172 would be applied if the robot100 had not already verified the presence of a clear floor surface 10for receiving cleaning fluid. By moving in a forward direction F andthen backing up prior to applying cleaning fluid 172, the robot 100identifies boundaries, such as a flooring changes and walls, andprevents fluid damage to those items.

As shown in FIGS. 2 and 11, in some examples, the fluid applicator 162is a sprayer 162 that includes at least two nozzles 164, each sprayingthe fluid in a fan-like shape and distributing the fluid 172 evenlyacross the floor surface 10. The fluid applicator 162 may include afront cover plate 166 that houses the nozzles 164. The front cover plate166 may be removed for cleaning or replacing the nozzles 164.

Referring to FIGS. 13C-13E, in some examples, the robot 100 may driveback and forth to cover a specific portion of the floor surface 10,wetting the cleaning pad 400 at the start of a cleaning run and/orscrubbing the floor surface 10. As the robot 100 drives back and forth,it cleans the area it is traversing and therefore provides a thoroughscrub to the floor surface 10.

In some examples, the fluid applicator 162 applies fluid 172 to an areain front of the cleaning pad 400 and in the direction of travel (e.g.,forward direction F) of the mobile robot 100. In some examples, thefluid 172 is applied to an area the cleaning pad 400 has previouslyoccupied. In some examples, the area the cleaning pad 400 has occupiedis recorded on a stored map that is accessible to the controller 150.

In some examples, the robot 100 knows where it has been based on storingits coverage locations on a map stored on the non-transitory-memory 154of the robot 100 or on an external storage medium accessible by therobot 100 through wired or wireless means during a cleaning run. Therobot 100 sensors 510 (FIG. 15) may include a camera and/or one or moreranging lasers for building a map of a space. In some examples, therobot controller 150 uses the map of walls, furniture, flooring changesand other obstacles to position and pose the robot 100 at locations farenough away from obstacles and/or flooring changes prior to theapplication of cleaning fluid 172. This has the advantage of applyingfluid 172 to areas of floor surface 10 having no known obstaclesthereon.

In some examples, the robot 100 moves in a back and forth motion tomoisten the cleaning pad 400 and/or scrub the floor surface 10 to whichfluid 172 has been applied. The robot 100 may move in a birdsfootpattern through the footprint area AF on the floor surface 10 to whichfluid 172 has been applied. As depict, in some implementations, thebirdsfoot cleaning routine involves moving the robot 100 in forwarddirection F and a backward or reverse direction A along a centertrajectory 1000 and in forward direction F and a backward direction Aalong left 1010 and right 1005 trajectories. In some examples, the lefttrajectory 1010 and the right trajectory 1005 are arcuate trajectoriesthat extend outward in an arc from a starting point along the centertrajectory 1000. The left trajectory 1010 and the right trajectory 1005may be straight line trajectories that extend outward in a straight linefrom the center trajectory 1000.

FIGS. 13C and 13E depict two birdsfoot trajectories. In the example ofFIG. 13C, the robot 100 moves in a forward direction F from Position Aalong the center trajectory 1000 until it encounters a wall 20 andtriggers a sensor 510, such as a bump sensor, at Position B. The robot100 then moves in a backward direction A along the center trajectory toa distance equal to or greater than the distance to be covered by fluidapplication. For example, the robot 100 moves backward along the centertrajectory 1000 by at least one robot length l to Position G, which maybe the same position as Position A. The robot 100 applies fluid 172 toan area substantially equal to the footprint area AF of the robot 100and returns to the wall 20, the cleaning pad 400 passing through thefluid 172 and cleaning the floor surface 10. From position B, the robot100 retracts either along a left trajectory 1010 or a right trajectory1005 before returning to Position B and covering the remainingtrajectory. Each time the robot 100 moves forward and backward along thecenter trajectory 1000, left trajectory 1010 and right trajectory 1005,the cleaning pad 400 passes through the applied fluid 172, scrubbingdirt, debris and other particulate matter from the floor surface 10 towhich the fluid 172 is applied and absorbing the dirty fluid into thecleaning pad 400 and away from the floor surface 10. The scrubbingmotion of the moistened pad combined with the solvent characteristics ofthe cleaning fluid 172 breaks down and loosens dried stains and dirt.The cleaning fluid 172 applied by the robot 100 suspends loosened debrissuch that the cleaning pad 400 absorbs the suspended debris and wicks itaway from the floor surface 10.

In the example of FIG. 13D, the robot 100 similarly moves from astarting position, Position A, through applied fluid 172, along a centertrajectory 1000 to a wall position, Position B. The robot 100 backs offof the wall 20 along the center trajectory 1000 to Position C, which maybe the same position as Position A, before covering left and righttrajectories 1010, 1005, extending to positions D and F, with thecleaning fluid 172 distributed along the trajectories 1010, 1005 by thecleaning pad 400. In one example, each time the robot 100 extends alonga trajectory outward from the center trajectory 1000, the robot 100returns to a position along the center trajectory as indicated byPositions A, C, E and G, as depicted in FIG. 13D. In someimplementations, the robot 100 may vary the sequence of backwarddirection A movements and forward direction F movements along one ormore distinct trajectories to move the cleaning pad 400 and cleaningfluid 172 in an effective and efficient coverage pattern across thefloor surface 10.

In some examples, the robot 100 may move in a birdsfoot coverage patternto moisten all portions of the cleaning pad 400 upon starting a cleaningrun. As depicted in FIG. 9B, the bottom surface 400 b of the cleaningpad 400 has a center area P_(C) and right and left lateral edge areasP_(R) and P_(L). When the robot 100 starts a cleaning run, or cleaningroutine, the cleaning pad is dry 400 and needs to be moistened to reducefriction and also to spread cleaning fluid 172 along the floor surface10 to scrub debris therefrom. The robot 100 therefore applies fluid at ahigher volumetric flow rate initially at the start of a cleaning runsuch that the cleaning pad 400 is readily moistened. As FIG. 13Edepicts, in some examples, at the start of a cleaning run, the robot 100drives the cleaning pad 400 through applied fluid 172 such that thecenter area P_(C) of the bottom surface 400 b of the cleaning pad 400and the left and right lateral edge areas P_(R) and P_(L) of thecleaning pad 400 each pass through the applied fluid separately, therebymoistening the entire cleaning pad 400 along the entire bottom surface400 b of the cleaning pad 400 in contact with the floor surface 10.

In the example of FIG. 13E, the robot 100 moves in a forward direction Fand then backward direction A along a center trajectory 1000, passingthe center of the pad 400 through the applied fluid 172. The robot 100then drives in a forward direction F and backward direction A along aright trajectory 1005, passing the left lateral area P_(L) of thecleaning pad 400 through the applied fluid 172. The robot 100 thendrives in a forward direction F and backward direction A along a lefttrajectory 1010, passing the right lateral area P_(R) of the cleaningpad 400 through the applied fluid 172. At the start of the cleaning run,the robot applies fluid 172 at a relatively high initial volumetric flowrate V_(i), applying a larger quantity of fluid 172 to the surface 10 tomoisten the cleaning pad 400 quickly. Once the cleaning pad 400 ismoistened, the robot 100 continues its cleaning run and subsequentlyapplies fluid 172 at a second volumetric flow rate V_(f). This secondvolumetric flow rate V_(f) is relatively lower than the initial flowrate V_(i) at the start of the cleaning run because the cleaning pad 400is already moistened and effectively moves cleaning fluid across thesurface 10 as it scrubs. The robot 100 adjusts the volumetric flow rateV such that a cleaning pad 400 of specified dimensions is moistened onthe exterior (i.e. the bottom surface 400 b) without being fully wettedto capacity internally. The bottom surface 400 b of the cleaning pad 400is initially moistened without the absorbent interior of the pad 400being water logged such that the cleaning pad 400 remains fullyabsorbent for the remainder of the cleaning run.

The back and forth movement of the robot 100 breaks down stains 22 onthe floor surface 10. The broken down stains 22 are then absorbed by thecleaning pad 400. In some examples, the cleaning pad 400 picks up enoughof the sprayed fluid 172 to avoid uneven streaks. In some examples, thecleaning pad 400 leaves a residue of the solution to provide a nicesheen look on the floor surface 10 being scrubbed. In some examples, thefluid 172 contains antibacterial solution; therefore, a thin layer ofresidue is purposely not absorbed by the cleaning pad 400 to allow thefluid 172 to kill a higher percentage of germs.

Referring to FIGS. 3 and 11, a reservoir 170 housed by the robot body110 holds the fluid 172 (i.e. cleaning solution) and is connected to thenozzle 164 by a tube 168. The reservoir 170 may be housed in therearward portion 114 of the robot 100. The cleaning system 160 may alsoinclude a pump motor 174 for transferring the fluid 172 from thereservoir 170 to the nozzle 164 via the tubes 168. The tube 168 runsfrom the reservoir 170 through the pump motor 174 and ends at the fluidapplicator 162. The tube 168 connects to the reservoir 170 at a lowestpoint in the reservoir 170 to allow draining of almost all the fluid 172in the reservoir 170. In some examples, the pump motor 174 is aperistaltic pump having a rotor with a number of rollers attached to anexternal circumference of the rotor and compressing the flexible tube168. As the rotor turns, the part of the tube 168 being compressed ispinched closed, which leads to forcing the fluid 172 to be pumped andmoved through the tube 168.

The reservoir 170 may hold a fluid 172 having a volume between 200 mland 250 ml or more. The reservoir 170 may have a semi-transparentportion or may be fully transparent to allow a user to know how muchfluid 172 is left in the reservoir 170. The transparent portion mayinclude an indication that allows the user to identify the volume offluid 172 remaining and if the reservoir 170 needs to be refilled. Insome examples, where the robot 100 carries a cleaning pad 400, thecleaning pad 400 may absorb 85% to 95% of the fluid volume contained inthe reservoir 170.

The reservoir 170 includes a cap 176 for allowing a user to empty orfill the reservoir 170 with fluid 172. The cap 176 may be made of rubberto improve sealing the reservoir 170 after being filled with fluid 172.The cap 176 may include a retainer post (not shown) that connects thecap 176 to the robot 100 when a user opens the cap 176 to fill the tank170. In some examples, an air release valve (not shown) is incorporatedinto the cap 176 to allow air to enter the reservoir 170 as the pumpdraws out cleaning solution to off-set the void left. In some examples,the air release valve is a tubular opening with a soft undercut flapmolded into the cap 176. The handle 119 may fully or substantially coverthe cap 176, in its closed position.

Referring to FIGS. 4 and 9-12, the robot 100 may include a pad holderassembly 190 disposed on the bottom portion 116 of the robot body 110and supported by the robot body 110. The pad holder assembly 190 holds acleaning pad 400. The pad holder assembly 190 includes a pad holder body194 having a top portion 194 a and a bottom portion 194 b. The bottomportion 194 b may be arranged within between about ½ cm and about 1½ cmof the floor surface. In some examples, the bottom portion 194 b makesup at least 40% of a surface area of a footprint of the robot. In someexamples, the pad holder assembly 190 is a solid rectangular plasticpart that connects with all other parts within the robot body 110.

A vibration motor 196 is disposed on the top portion 194 a of the padholder body 194 (e.g., mounted vertically with respect to the floorsurface 10). The vibration motor 196 vibrates the pad holder body 194,which in turn vibrates the cleaning pad 400 and provides a scrubbingaction when the robot 100 is traversing the floor surface 10 forcleaning. In some examples, the vibration motor 196 is an orbitaloscillator having less than 1 cm of orbital range, and having less than½ cm of orbital range during at least part of the cleaning run, forexample during parts of the run when the robot 100 is moving thecleaning pad 400 in a scrubbing motion. The combination of the back andforth movement of the robot 100 (previously discussed) and the vibrationmovement improves the scrubbing action of the robot 100, which removesresistant stains 22 including dried stains, like mud and coffee, andsticky stains, like jelly and honey. In some examples, a cylindricaltube 197 protrudes away from the top portion 194 a of the pad holderbody 194, and may be located in the center of the holder body 194. Thecylindrical tube 197 houses the vibration motor 196 and any oscillatingcomponents or counter weights 198 allowing them to slide in place. Insome examples, counter weights 198 are disposed on the top portion ofthe pad holder body 194 attached to the motor's rotational shaft. Thecounter weights 198 provide an off-centered weight and cause the motorto wobble. This in turn causes the vibrating and oscillating motion ofthe pad holder assembly 190. The weight of the robot 100 may bedistributed between the drive wheels 124 a, 124 b and the pad holderassembly 190 at a ratio of 3 to 1, where the heaviest portion of therobot body 110 is either above the drive wheels 124 a, 124 b or abovethe pad holder assembly 190. In some examples, the center of gravity CGrof the robot 100 is positioned forward the drive wheels 124 a, 124 b,therefore causing a majority of an overall weight of the robot 100 to bepositioned over the pad holder body 194. The overall weight of the robot100 may be between about 2 lbs. to about 5 lbs. Positioning the majorityof the overall weight of the robot 100 over the pad holder body 194 hasthe advantage of concentrating the application downward force at thecleaning pad 400 of this lightweight robot 100 and keeping the cleaningpad 400 in contact with the floor surface 10.

Referring to FIGS. 4 and 10, a retainer 193 is disposed on the bottomportion 194 b of the pad holder body 194 for retaining the cleaning pad400. The retainer 193 may include hook-and-loop fasteners. Other typesof retainers may be used to connect the cleaning pad 400 to the padholder body 194, such as brackets, which, as previously discussed, maybe configured to allow the release of the cleaning pad 400 uponactivation of a pad release mechanism located on the top portion 118 ofthe robot body 110.

In some examples, the pad holder assembly 190 includes at least one post192 disposed on the top portion 194 a of the pad holder body 194. Thepost 192 may have a cross sectional diameter varying in size along itslength and is sized to fit in an aperture 113 defined by the robot body110. As shown, the pad holder assembly 190 includes four posts 192. Therobot body 110 includes four apertures 113 for receiving the four posts192, attaching the pad holder assembly 190 to the robot body 110. Onceassembled, the four posts 192 are inserted into the four apertures 113of the robot body 110, interlocking the robot body 110 and the padholder assembly 190. In some examples, the posts 192 are of a vibrationdampening material to allow the pad holder assembly 190 to oscillate inthe horizontal plane under the power of the motor 196 and allows forscrubbing. In addition, the posts 192 control the vibration in thevertical direction thereby controlling the spacing between the padholder assembly 190 and the robot body 110.

The cleaning pad 400 is configured to absorb the fluid 172 that thesprayer 162 sprays on the floor surface 10 and any smears (e.g., dirt,oil, food, sauces, coffee, coffee grounds) that are being absorbed. Someof the smears may have viscoelastic properties, which exhibit bothviscous and elastic characteristic (e.g., honey). The cleaning pad 400is absorbent and has an outer surface that is abrasive. As the robot 100moves about the floor surface 10, the cleaning pad 400 wipes the floorsurface 10 with the abrasive side (i.e., the abrasion layer) and absorbscleaning solution sprayed onto the floor surface 10 with only a lightamount of force.

The cleaning pad 400 is designed, therefore, to wipe and absorb solutionsprayed onto the floor surface 10 with very little application ofdownward force. The cleaning pad 400 may include an abrasive outer layer(not shown) and an absorbent inner layer for absorbing and retaining thefluid 172 that the robot 100 sprays on the floor surface 10. Theabrasive outer layer is in contact with the floor surface 10, while theabsorbent inner layer is attached to the bottom portion 194 b of theholder pad 194. The abrasion layer helps scrub the surface floor 10 andremove stubborn stains 22 while the absorbent layer absorbs the fluid172 and the dirt and debris. The cleaning pad 400 may leave a thin sheenon the floor surface 10 that will air dry and not leave marks. If thecleaning pad 400 absorbs too much fluid 172, the cleaning pad 400 may besuctioned to the floor due to the friction between the cleaning pad 400and the floor surface 10. The abrasive outer liner is an absorbentmaterial that picks up dirt and debris and leaves a thin sheen on thesurface that will air dry and not leave marks.

The cleaning pad 400 is designed to be strong enough to withstand thevibration of the pad holder body 194, which causes the cleaning pad 400to move back and forth and/or oscillate, thereby scrubbing as the robot100 traverses the floor surface 10. The cleaning pad 400 has a topsurface 400 a attached to the bottom surface 194 b of the pad holder194. The top surface 400 b of the pad 400 is substantially immobilerelative to the oscillating pad holder 194 and more than 80 percent ofthe orbital range of the orbital oscillator is transmitted from the topsurface 400 a of the held cleaning pad 400 to the bottom surface 400 bof the held cleaning pad 400 in contact with the floor surface 10.Moreover, the back and forth movement of the robot 100 alone, and/or incombination with oscillation of the pad, breaks down stains 22 on thesurface floor 10, which the cleaning pad 400 absorbs.

In some implementations, as the cleaning pad 400 is cleaning a floorsurface 10, it absorbs the cleaning fluid 172 applied to the floorsurface 10. The cleaning pad 400 may absorb enough fluid 172 withoutchanging its shape. The cleaning pad 400 has substantially similardimensions before cleaning the floor surface 10 and after cleaning thefloor surface. This characteristic of the cleaning pad 400 prevents therobot 100 from tilting backwards or pitching up if the cleaning pad 400expands. In some examples, the cleaning pad 400 absorbs up to 180 ml or90% of the total fluid 172 contained in the robot tank 170. The cleaningpad 400 is sufficiently rigid to support the front of the robot.

Referring to FIG. 14, the robot 100 has a clearance distance C from thefloor surface 10 to the bottom surface 116 of the robot 100. Therefore,the cleaning pad 400 may have a minimal expansion rate to prevent therobot 100 from tilting. In some examples, the robot 100 may tilt aboutthe wheel axis W due to the minimal increase in total pad thicknessT_(T). The robot 100 may have a threshold tilt angle α about the wheelaxis W where the robot 100 may tilt without interference in its normalcleaning behavior.

Referring to FIGS. 15 and 16, to achieve reliable and robust autonomousmovement, the robot 100 may include a sensor system 500 having severaldifferent types of sensors 510, which can be used in conjunction withone another to create a perception of the robot's 100 environmentsufficient to allow the robot 100 to make intelligent decisions aboutactions to take in that environment. The sensor system 500 may includeone or more types of sensors 510 supported by the robot body 110, whichmay include obstacle detection/obstacle avoidance (ODOA) sensors,communication sensors, navigation sensors, etc. For example, the sensorsystem 500 may include, but not limited to, proximity sensors (e.g.infrared sensors), contact sensors (e.g., bump switches), imagingsensors (e.g., volumetric point cloud imaging, three-dimensional (3D)imaging or depth map sensors, visible light camera and/or infraredcamera), ranging sensors (e.g., sonar, radar, LIDAR (Light Detection andRanging, which can entail optical remote sensing that measuresproperties of scattered light to find range and/or other information ofa distant target), LADAR (Laser Detection and Ranging)), etc.

In some examples, the sensor system 500 includes an inertial measurementunit (IMU) 512 in communication with the controller 150 to measure andmonitor a moment of inertia of the robot 100 with respect to the overallcenter of gravity CG_(R) of the robot 100. The controller 150 maymonitor any deviation in feedback from the IMU 512 from a thresholdsignal corresponding to normal unencumbered operation. For example, ifthe robot 100 begins to pitch away from an upright position, it may beimpeded, or someone may have suddenly added a heavy payload. In theseinstances, it may be necessary to take urgent action (including, but notlimited to, evasive maneuvers, recalibration, and/or issuing anaudio/visual warning) in order to assure proper continued operation ofthe robot 100.

When accelerating from a stop, the controller 150 may take into accounta moment of inertia of the robot 100 from its overall center of gravityCG_(R) to prevent the robot 100 from tipping. The controller 150 may usea model of its pose, including its current moment of inertia. Whenpayloads are supported, the controller 150 may measure a load impact onthe overall center of gravity CG_(R) and monitor movement of the robot100 moment of inertia. If this is not possible, the controller 150 mayapply a test torque command to the drive system 120 and measure actuallinear and angular acceleration of the robot using the IMU 512, in orderto experimentally determine operating limits.

The IMU 512 may measure and monitor a moment of inertia of the robot 100based on relative values. In some implementations, and over a period oftime, constant movement may cause the IMU 512 to drift. The controller150 executes a resetting command to recalibrate the IMU 512 and reset itto zero. Before resetting the IMU 512, the controller 150 determines ifthe robot 100 is tilted, and issues the resetting command only if therobot 100 is on a flat surface.

In some implementations, the robot 100 includes a navigation system 600configured to allow the robot 100 to navigate the floor surface 10without colliding into obstacles 20 or falling down stairs, and tointelligently recognize relatively dirty floor areas for cleaning.Moreover, the navigation system 600 can maneuver the robot 100 indeterministic and pseudo-random patterns across the floor surface 10.The navigation system 600 may be a behavior based system stored and/orexecuted on the robot controller 150. The navigation system 600 maycommunicate with the sensor system 500 to determine and issue drivecommands to the drive system 120. The navigation system 600 influencesand configures the robot behaviors 300, thus allowing the robot 100 tobehave in a systematic preplanned movement. In some examples, thenavigation system 600 receives data from the sensor system 500 and plansa desired path for the robot 100 to traverse. In some examples, thenavigation system 600 includes a map stored on the non-transitory-memory154 of the robot 100 or on an external storage medium accessible by therobot 100 through wired or wireless means during a cleaning run. Therobot 100 sensors 510 (FIG. 15) may include a camera and/or one or moreranging lasers for building a map of a space. In some examples, therobot controller 150 uses the map of walls, furniture, flooring changesand other obstacles to position and pose the robot 100 at locations farenough away from obstacles and/or flooring changes prior to theapplication of cleaning fluid 172. This has the advantage of applyingfluid 172 to areas of floor surface 10 having no known obstaclesthereon.

In some implementations, the controller 150 (e.g., a device having oneor more computing processors 152 in communication with non-transitorymemory 154 capable of storing instructions executable on the computingprocessor(s) 152) executes a control system 210, which includes abehavior system 210 a and a control arbitration system 210 b incommunication with each other. The control arbitration system 210 ballows robot applications 220 to be dynamically added and removed fromthe control system 210, and facilitates allowing applications 220 toeach control the robot 100 without needing to know about any otherapplications 220. In other words, the control arbitration system 210 bprovides a simple prioritized control mechanism between applications 220and resources 240 of the robot 100.

In the example shown, the behavior system 210 a includes an obstacledetection/obstacle avoidance (ODOA) behavior 300 b for determiningresponsive robot actions based on obstacles 20 perceived by the sensor(e.g., turn away; turn around; stop before the obstacle, etc.). Anotherbehavior 300 may include a wall following behavior 300 c for drivingadjacent a detected wall (e.g., in a wiggle pattern of driving towardand away from the wall). The behavior system 210 a may include a dirthunting behavior 300 d (where the sensor(s) detect a dirty spot on thefloor surface 10 and the robot 100 veers towards the spot for cleaning).Other behaviors 300 may include a spot cleaning behavior (e.g., therobot 100 follows a cornrow pattern to clean a specific spot), and acliff behavior (e.g., the robot 100 detects stairs and avoids fallingfrom the stairs).

FIG. 17 provides an exemplary arrangement of operations for a method1700 of operating an autonomous mobile robot 100. Referring also toFIGS. 13A-13E, the method 1700 includes driving 1710 a first distanceF_(d) in a forward drive direction F defined by the robot 100 to a firstlocation L₁, while smearing applied fluid 172 with a cleaning pad 400carried by the robot 100 along a floor surface 10 supporting the robot100. The method 1700 further includes driving 1720 in a reverse drivedirection A, opposite the forward drive direction F, a second distanceA_(d) to a second location L₂ while smearing applied fluid 172 with thecleaning pad 400 along the floor surface 10. The method 1700 alsoincludes spraying 1730 fluid 172 on the floor surface 10 in the forwarddrive direction F forward of the cleaning pad 400 but rearward of thefirst location L₁, and driving 1740 in alternating forward and reversedrive directions F, A, while smearing the cleaning pad 400 along thefloor surface 10 after spraying 1730 fluid 172 on the floor surface 10(see FIGS. 13A-13E).

In some examples, the method 1700 includes driving a first distanceF_(d) in a forward drive direction F defined by the robot 100 to a firstlocation L₁, while moving a cleaning pad 400 carried by the robot 100along a floor surface 10 supporting the robot 100. The method 1700further includes driving in a reverse drive direction A, opposite theforward drive direction F, a second distance A_(d) to a second locationL₂ while moving the cleaning pad 400 along the floor surface 10. Themethod 1700 also includes applying fluid 172 on the floor surface 10 inan area substantially equal to a footprint area AF of the robot in theforward drive direction F forward of the cleaning pad 400 but rearwardof the first location L₁. The method 1700 further includes returning therobot 100 to the area of applied fluid in a movement pattern that movesthe center area P_(C) and left and right lateral edge areas P_(R) andP_(L) of the cleaning pad 400 separately through the area to moisten thecleaning pad 400 with the applied fluid 172. In some examples, themethod 1700 includes applying fluid 172 on the floor surface 10 whiledriving in the reverse direction or after having driven in the reversedrive direction the second distance which is at least equal to thelength of one footprint area AF of the robot 100. In some examples, thefluid applicator 162 applies fluid 172 to an area in front of thecleaning pad 400 and in the direction of travel of the mobile robot 100.In some examples, the fluid applicator 162 applies fluid 172 to an areathat the cleaning pad 400 has occupied previously. In some examples, thearea that the cleaning pad 400 has occupied is recorded on a stored mapthat is accessible to the controller 150.

The method 1700 may include driving in a left drive direction or a rightdrive direction while driving in the alternating forward and reversedirections after applying fluid 172 on the floor surface 10. Applyingfluid 172 on the floor surface 10 may include spraying fluid 172 inmultiple directions with respect to the forward drive direction F. Insome examples, the second distance is greater than or equal to the firstdistance.

The mobile floor cleaning robot 10 may include a robot body 110, a drivesystem 120, a pad holder assembly 190, a reservoir 170, and a fluidapplicator 162, such as for example a microfiber cloth or strip, a fluiddispersion brush, or a sprayer. The robot body 110 defines the forwarddrive direction and has a bottom portion 116. The drive system 120supports the robot body 110 and maneuvers the robot 100 over the floorsurface 10. The pad holder assembly 190 is disposed on the bottomportion 116 of the robot body 110 and holds the cleaning pad 400. Thereservoir 170 is housed by the robot body 110 and holds a fluid 172(e.g., 200 ml). The applicator 162, here a sprayer, which is also housedby the robot body 110, is in fluid communication with the reservoir 170and sprays the fluid 172 in the forward drive direction forward of thecleaning pad 400. The cleaning pad 400 disposed on the bottom portion116 of the pad holder assembly 190 may absorb about 90% of the fluid 172contained in the reservoir 170. In some examples, the cleaning pad 400has a width of between about 80 millimeters and about 68 millimeters anda length of between about 200 millimeters and about 212 millimeters. Thecleaning pad 400 may have a thickness of between about 6.5 millimetersand about 8.5 millimeters.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made without departingfrom the spirit and scope of the disclosure. Accordingly, otherimplementations are within the scope of the following claims. Forexample, the actions recited in the claims can be performed in adifferent order and still achieve desirable results.

What is claimed is:
 1. A mobile floor cleaning robot comprising: a robotbody defining a forward drive direction; a drive system supporting therobot body to maneuver the robot across a surface the drive systemcomprising right and left drive wheels disposed on corresponding rightand left portions of the robot body; and a cleaning assembly disposed onthe robot body, the cleaning assembly comprising: a pad holder disposedforward of the drive wheels and having a top portion and a bottomportion, the bottom portion having a bottom surface arranged withinbetween about ½ cm and about 1½ cm of the surface and configured toreceive a cleaning pad, the bottom surface of the pad holder comprisingat least 40% of a surface area of a footprint of the robot; and anorbital oscillator having less than 1 cm of orbital range disposed onthe top portion of the pad holder; wherein the pad holder is configuredto permit more than 80 percent of the orbital range of the orbitaloscillator to be transmitted from the top of the received cleaning padto the bottom surface of the received cleaning pad.
 2. The robot ofclaim 1, wherein orbital range of the orbital oscillator is less than ½cm during at least part of a cleaning run.
 3. The robot of claim 2,wherein the drive system drives forward and backward while oscillatingthe cleaning pad.
 4. The robot of claim 2, wherein the drive systemdrives in a birdsfoot motion to move the cleaning pad forward andbackward along a center trajectory, forward and backward along atrajectory to a left side of and heading away from a starting pointalong the center trajectory, and forward and backward along a trajectoryto a right side of and heading away from a starting point along thecenter trajectory.
 5. The robot of claim 1, wherein the cleaning pad hasa top surface attached to the bottom surface of the pad holder and thetop of the pad is substantially immobile relative to the oscillating padholder.
 6. The robot of claim 1, wherein the cleaning assembly furthercomprises at least one post disposed on the top portion of the padholder, the at least one post sized for receipt by a correspondingaperture defined by the robot body.
 7. The robot of claim 6, wherein theat least one post has a cross sectional diameter varying in size alongits length.
 8. The robot of claim 6, wherein the at least one postcomprises a vibration dampening material.
 9. The robot of claim 1,wherein the cleaning assembly further comprises: a reservoir to hold avolume of fluid; and a fluid applicator in fluid communication with thereservoir, the fluid applicator configured to apply the fluid along theforward drive direction forward of the pad holder.
 10. The robot ofclaim 9, wherein the cleaning pad is configured to absorb about 90% ofthe fluid volume held in the reservoir.
 11. A method of operating amobile floor cleaning robot, the method comprising: driving in a forwarddrive direction defined by the robot a first distance to a firstlocation while moving a cleaning pad carried by the robot along a floorsurface supporting the robot, the cleaning pad having a center andlateral edges; driving in a reverse drive direction, opposite theforward drive direction, a second distance to a second location whilemoving the cleaning pad along the floor surface; from the secondlocation, applying fluid to an area substantially equal to a footprintarea of the robot on the floor surface in the forward drive directionforward of the cleaning pad but rearward of the first location; andreturning the robot to the area in a movement pattern that moves thecenter and lateral edges of the cleaning pad separately through the areato moisten the cleaning pad with the applied fluid.
 12. The method ofclaim 11, further comprising driving in a left drive direction or aright drive direction while driving through the applied fluid in thealternating forward and reverse directions after spraying fluid on thefloor surface.
 13. The method of claim 11, wherein applying fluid on thefloor surface comprises spraying fluid in multiple directions withrespect to the forward drive direction.
 14. The method of claim 11,wherein the second distance is at least equal to a length of onefootprint area of the robot.
 15. The method of claim 11, wherein themobile floor cleaning robot comprises: a robot body defining the forwarddrive direction and having a bottom portion; a drive system supportingthe robot body and configured to maneuver the robot over the floorsurface; a pad holder disposed on the bottom portion of the robot bodyand configured to hold the cleaning pad; and a fluid applicator housedby the robot body and in fluid communication with a fluid reservoir. 16.The method of claim 15, wherein the cleaning pad disposed on a bottomportion of the pad holder absorbs about 90% of the fluid contained inthe reservoir.